home *** CD-ROM | disk | FTP | other *** search
/ TOS Silver 2000 / TOS Silver 2000.iso / programm / Mm2_txt / MODULA1F.TXT < prev    next >
Encoding:
Text File  |  1997-02-08  |  38.0 KB  |  725 lines

  1. 1.1  Über Megamax Modula                                                  1 - 1
  2. ________________________________________________________
  3.  
  4.  
  5. 1.   Einführung
  6.  
  7. Das erste Kapitel dieses Handbuchs soll Ihnen einen Überblick über Megamax
  8. Modula-2 und den Inhalt dieser Dokumentation geben. Wenn Sie Ihre System~
  9. disketten gerade ausgepackt haben und den ersten Versuchen entgegenfiebern,
  10. lesen Sie bitte auf jeden Fall Abschnitt 1.2. Möchten Sie sich erst über Modula-2
  11. und die Megamax-Implementation informieren, dann finden Sie hoffentlich das
  12. ganze Kapitel 1 interessant.
  13.  
  14.  
  15. 1.1    Über Megamax Modula
  16.  
  17. Modula-2 ist eine moderne Programmiersprache, in der Prof. Niklaus Wirth
  18. das  bewährte  Konzept  von  Pascal  durch  leistungsfähige  Erweiterungen
  19. ergänzte. Das Modulkonzept erlaubt die Realisierung und Pflege auch großer
  20. SoftwareProjekte; die Unterstützung von Prozessen und die Möglichkeiten der
  21. maschinennahen  Programmierung  erschließen  Modula-2  neue  Anwendungs~
  22. gebiete; eine systematische Syntax erleichtert das Erlernen der Sprache.
  23.  
  24. Megamax  Modula  ist  eine  moderne  Implementation  dieser  Sprache:  Der
  25. schnelle Ein-Pass-Compiler ist zusammen mit Editor und Debugger über eine
  26. komfortable GEM-Shell zu bedienen. Er hilft dem Anfänger beim problemlosen
  27. Einstieg in Modula-2 und bietet dem Könner ein leistungsfähiges Entwicklungs~
  28. werkzeug. Der Compiler erfüllt nicht nur den vollen Standard nach Wirth (PIM,
  29. 3.  Auflage)  sondern  verfügt  auch  schon  über  viele  Erweiterungen  des
  30. kommenden ISO-Standards für Modula-2 (mehr dazu in Kap. 3.1!). Er nutzt
  31. den Mathe-Koprozessor (FPU) sowohl im Atari ST als auch im Atari TT.
  32.  
  33. Auf überholte Konzepte, wie z.B. separate Assembler- und Linkerläufe, wurde
  34. verzichtet.   Statt   dessen   unterstützt   Megamax   Modula   durch   echtes
  35. Loadtime  Linking  der  Module  (wie  auf  der  Modula-Maschine  "Lilith"  von
  36. N.  Wirth,  bzw.,  viel  besser!)  die  Benutzung  großer  Modulbibliotheken.  Die
  37. mitgelieferte  umfangreiche  Systembibliothek  (mehr  als  110  Module)  gewährt
  38. bereits  umfassenden,  komfortablen  Zugriff  auf  alle  Systemfunktionen  Ihres
  39. Atari ST/TT (Dateisystem, BIOS, GEM) und viele zusätzliche Möglichkeiten.
  40. Selbstverständlich können Sie auch effiziente Accessory-Programme mit dem
  41. optimierenden Linker erstellen.
  42.  
  43. Als Teil des Megamax Modula-Systems erhalten Sie weiterhin zwei Editoren
  44. (einen GEM-Editor und einen sehr kompakten, schnellen Editor, der allerdings
  45. etwas mehr Eingewöhnung braucht), einen interaktiven Modula-Debugger und
  46. ein Resource Construction Program zur Definition von Resource-Dateien für
  47. Ihre GEM-Anwendungen. Alle Komponenten arbeiten unter der  Kontrolle  der
  48. GEM-Benutzeroberfläche zusammen.
  49.  
  50. Eine ausführlichere Diskussion der - vielleicht für Sie neuen - Konzepte der
  51. Modularität und des Loadtime Linking finden Sie im Kapitel 1.4.
  52. 1.2 Über dieses Handbuch                                                   1 - 2
  53. ________________________________________________________
  54.  
  55.  
  56. 1.2   Über dieses Handbuch
  57.  
  58. Dieses  Handbuch  erklärt  Ihnen  den  Umgang  mit  dem  Megamax  Modula-2
  59. Entwicklungssystem. Das 1. Kapitel, in dem Sie gerade lesen, soll Ihnen einen
  60. ersten Überblick über die Sprache Modula-2 und das Megamax-System geben.
  61. Im 2. Kapitel finden Sie dann alle Erläuterungen zur Bedienung des Systems,
  62. die Sie zum Programmieren in Modula brauchen. Gleich zu Beginn von Kapitel 2
  63. erfahren Sie auch, wie Sie auf dem kürzesten Weg zu Ihren ersten Experimen~
  64. ten mit Megamax Modula kommen.
  65.  
  66. Als Modula-Programmierer  wird  Sie  außerdem  das  Kapitel  5  interessieren.
  67. Dort wird die leistungsfähige Modulbibliothek beschrieben, die Sie mit Ihrem
  68. Megamax Modula-2 erhalten haben. Schließlich sollten Sie sich einmal Kapitel
  69. 3.1 ansehen; dort wird verraten, welche Besonderheiten die Megamax-Implemen~
  70. tation aufweist.
  71.  
  72. Die weiteren Kapitel dieses Buchs wenden sich vor allem an den fortgeschritten~
  73. en Anwender. Wenn Sie sich der Systemprogrammierung mit Megamax Modula
  74. zuwenden und dazu auch den integrierten Assembler verwenden wollen, finden
  75. Sie in Kapitel 4 Informationen über das 'Innenleben' Ihres Modula-Systems und
  76. den Umgang mit dem 68000 Assembler.
  77.  
  78. Im Anhang finden Sie vor allem Informationen zum Nachschlagen  -  interne
  79. Datenformate,  Fehlermeldungen,  Compileroptionen...  Außerdem  enthält  der
  80. Anhang A.6 eine Erläuterung der Backus-Naur-Notation. Falls Sie diese Notation
  81. zur Beschreibung der Modula-Syntax noch nicht kennen, sollten Sie sich diese
  82. Seite bald ansehen.
  83.  
  84. Eines  allerdings  will  dieses  Handbuch  nicht  sein:  Eine  Einführung  in  die
  85. Programmiersprache Modula-2. Vielleicht haben Sie schon einiges über Modula
  86. gelesen?  Dann  können  wir  nur  noch  viel  Spaß  beim  Ausprobieren  Ihrer
  87. Kenntnisse mit dem Megamax Modula-System wünschen. Wenn Sie dagegen
  88. noch nichts über Modula-2 wissen, sollten Sie zusätzlich zu diesem Buch ein
  89. Modula-Lehrbuch  zur  Hand  haben.  Im  folgenden  Abschnitt  stellen  wir  eine
  90. kleine Auswahl empfehlenswerter Bücher vor.
  91. 1.3 Kurze Modula-Biliographie                                               1 - 3
  92. ________________________________________________________
  93.  
  94.  
  95. 1.3   Kurze Modula-Bibliographie
  96.  
  97. Wenn Sie Modula-2 erst lernen oder als Modula-Kenner noch ein Nachschlage~
  98. werk suchen, sollten Sie sich das  eine  oder  andere  der  folgenden  Bücher
  99. einmal  ansehen.  Während  Modula-2  zunehmend  Verbreitung  findet,  wächst
  100. auch die Auswahl an Modula-Literatur ständig - unsere Vorschlagsliste kann
  101. daher nicht vollständig sein.
  102.  
  103.  
  104. Niklaus Wirth: Programmieren in Modula-2
  105.  
  106. Springer Verlag, 3. Auflage
  107.  
  108. Das 'offizielle' Modula-Buch vom Vater der Sprache selbst. Es besteht aus
  109. zwei Teilen: Der erste Abschnitt ist ein Programmierkurs, der alle Modula~
  110. Konzepte vorstellt. Der Kurs ist auf Leser mit geringen Vorkenntnissen zuge~
  111. schnitten;  erfahrene  Pascal-Programmierer  werden  sich  in  vielen  Kapiteln
  112. langweilen.
  113.  
  114. Daran schließt sich als zweiter Teil der 'Modula-Report' an.  Dort  soll  eine
  115. vollständige Definition der Sprache gegeben werden; die Darstellung ist allerdings
  116. recht knapp und  gibt  Gelegenheit  zu  Mißverständnissen.  Zum  Nachschlagen
  117. eignet sich die deutsche Übersetzung des  Buchs  dank  ihres  umfangreichen
  118. Stichwortverzeichnisses recht gut.
  119.  
  120. Es existiert auch noch eine vierte Auflage des Buchs, die jedoch von uns nicht
  121. empfohlen werden kann. Sie enthält veraltete Passagen aus der ersten Auflage
  122. und widersprüchliche Beschreibungen zwischen den beiden Teilen. Wirth  hat
  123. hier   außerdem   einige   einschneidende   Veränderungen   an   der   Sprache
  124. vorgenommen, die von den meisten Modula-Anbietern und -Anwendern nicht
  125. mehr unterstützt werden. Mehr dazu im Kapitel 3.
  126.  
  127.  
  128. Dal Cin/Lutz/Risse: Programmierung in Modula-2
  129.  
  130. Teubner Verlag, 2. Auflage 1986
  131.  
  132. Ein Lehrbuch, das in drei Teilen zunächst die Grundlage der Sprache vorstellt
  133. und dann ausführlich auf die neuen Modula-Konzepte eingeht: modulare Program~
  134. mierung und parallele Bearbeitung von Prozessen. Der eilige und Pascal-kundige
  135. Leser findet zu Beginn der Grundlagen-Kapitel jeweils eine Zusammenfassung,
  136. die die Unterschiede zu Pascal herausstellt.
  137.  
  138. Beispiele und Aufgaben helfen beim Lernen; in den späteren Kapiteln wird auch
  139. anspruchsvolleres Wissen verständlich dargestellt. Ein ausführliches Stichwort~
  140. verzeichnis macht das Buch  auch  zu  einem  guten  Nachschlagewerk.  Einige
  141. Minuspunkte sollen aber nicht verschwiegen werden:
  142. 1.3 Kurze Modula-Biliographie                                               1 - 4
  143. ________________________________________________________
  144.  
  145.  
  146. Die Berücksichtigung der neuen Modula-Definition in der zweiten Auflage wurde
  147. leider nicht konsequent durchgehalten - gelegentliche 'Rückfälle' in den alten
  148. Standard, speziell in den Beispielen, sorgen für Verwirrung. Außerdem  sind
  149. eine Reihe von Beispielen speziell auf das von den Autoren benutzte UNIX-System
  150. zugeschnitten, ohne daß das immer klar gesagt wird.
  151.  
  152.  
  153. Richard Gleaves: Modula für Pascal-Programmierer
  154.  
  155. Springer Verlag 1985
  156.  
  157. Der Titel verrät bereits, an wen sich das Buch wendet: Programmierer mit
  158. Pascal-Erfahrung, die auf Modula-2 umsteigen wollen und sich für Änderungen
  159. und zusätzliche Möglichkeiten dieser Sprache interessieren.
  160.  
  161. Wenn Sie zu diesem Kreis gehören, ist  'Modula  für  Pascal-Programmierer'
  162. unbedingt empfehlenswert: Gleaves stellt die neuen Konzepte von Modula klar
  163. heraus, ohne die Grundlagen zu wiederholen, die Ihnen von Pascal her geläufig
  164. sind.
  165.  
  166. Einen kleinen Nachteil hat auch dieses Buch: Als einziges verschweigt es die
  167. Änderungen des Modula-Standards völlig. Wenn Sie also von R. Gleaves Modula
  168. lernen, sehen Sie sich bitte auch das Kapitel 3.1 des Megamax-Handbuchs an.
  169.  
  170.  
  171. Stefan Dürholt, Jochem Schnur: Atari ST Modula-2 Programmierhandbuch
  172.  
  173. Markt & Technik Verlag 1990
  174.  
  175. Dies ist ein Modula-Buch speziell für Atari ST-Anwender. Es umfaßt ca. 500
  176. Seiten,  enthält  zwei  Disketten  mit  Quelltexten  und  Programmen,  und  alle
  177. Beispielprogramme  wurden  mit  dem  Megamax-Modula-System  erstellt.  Die
  178. Beispiele sind praxisnah, es enthält Vergleiche der wichtigsten Modula-Systeme
  179. auf  dem  Atari  ST  und  Informationen  zum  ISO-Standard,  ein  Kapitel  zur
  180. Assembler-Programmierung ist auch enthalten. Somit stellt dieses Werk eine
  181. gute Ergänzung zu Megamax-Modula dar.
  182.  
  183. Es existiert noch ein weiteres Buch zu Modula-2 auf dem Atari ST. Es heißt
  184. "MODULA 2" (Heim Verlag 1990, Autor: R. Morgenstern). Wir können es Ihnen
  185. nicht  so  sehr  empfehlen.  Es  bietet  trotz  seiner  Dicke  längst  nicht  den
  186. Informationsgehalt des vorher genannten Werkes. Lediglich die Einführung in
  187. die  Grundidee  des  Programmierens  ist  hier  ausführlicher.  Am  besten,  sie
  188. gehen in eine Buchhandlung und vergleichen beide Bücher kurz. Der Unter~
  189. schied wird Ihnen ins Auge springen!
  190. 1.3 Kurze Modula-Biliographie                                               1 - 5
  191. ________________________________________________________
  192.  
  193.  
  194. Dieter u. Jürgen Geiß: Softwareentwicklung auf dem Atari ST
  195.  
  196. Hüthig Verlag 1986
  197.  
  198. Überraschung: Dies ist gar kein Modula-Buch! Wo wir aber gerade bei den Li~
  199. teraturtips sind, wollen wir nicht versäumen, auf dieses Buch hinzuweisen.
  200.  
  201. Wer in die Programmierung des GEM einen tieferen Einblick gewinnen will, fin~
  202. det hier die vollständige Beschreibung aller Datenstrukturen und Routinen. Bei~
  203. spiele erleichtern das Verständnis dieser komplexen Benutzeroberfläche.
  204.  
  205. Eine Einführung in die GEM-Programmierung, speziell mit den Module der Me~
  206. gamax Bibliothek, finden Sie aber auch im Kapitel 5 dieses Handbuchs.
  207.  
  208.  
  209. Dieter u. Jürgen Geiß: Vom Anfänger zum GEM-Profi
  210.  
  211. Hüthig Verlag 1990
  212.  
  213. Dies  ist  ein  weiteres  Buch  der  Autoren,  das  noch  mehr  Einblicke  in  die
  214. GEM-Programmierung   vermittelt.   So   wird   beispielsweise   gezeigt,   wie
  215. "saubere", portable GEM-Programmierung aussieht, damit die Programme auch
  216. noch auf dem GEM des IBM-PC laufen, und wie Menüleisten auch in einzelnen
  217. Fenstern  (sehr  praktisch  für  Accessories)  dargestellt  werden  können.  Auf
  218. einer Diskette werden die gezeigten Routinen als Quelltext mitgeliefert (bisher
  219. leider nur in der Sprache C).
  220.  
  221.  
  222. Jankowski, Rabich, Reschke: Das Atari-ST Profibuch
  223.  
  224. Sybex Verlag
  225.  
  226. Dies  ist  ebenfalls  kein  Modula-Buch.  Aber  was  das  vorige  Buch  für  die
  227. GEM-Programmierung ist, stellt dieses  für  die  systemnahe  Programmierung
  228. dar. Im deutschsprachigen Raum gilt es schlechthin als Referenz zu allem, das
  229. Atari  USA  selbst  festzulegen  versäumte.  Für  Programmierer,  die  den
  230. Durchblick  brauchen,  ist  dieses  Buch  unverzichtbar.  Es  dokumentiert  alle
  231. Systemvariablen und Betriebssystemaufrufe ausführlich, bietet tiefe Einblicke in
  232. die  Hardware  aller  Atari  ST-Modelle  und  ist  immer  up-to-date  durch
  233. regelmäßige, korrigierte und erweiterte Neuauflagen. Zur Zeit umfaßt das Buch
  234. ca. 1000 Seiten.
  235. 1.4 Megamax Modula: das Konzept                                          1 - 6
  236. ________________________________________________________
  237.  
  238.  
  239. 1.4  Megamax  Modula:  das  Konzept
  240.  
  241.  
  242. Definitions- und Implementationsmodule
  243.  
  244. Wenn Sie schon mal das Listing eines Modula-Programms gesehen haben, ist
  245. Ihnen (als Pascal-Kenner?) vielleicht aufgefallen, daß das Programm im Kopf
  246. nicht als 'PROGRAM', sondern als 'MODULE' bezeichnet wird. Das ist offenbar
  247. noch nicht besonders revolutionär und bestimmt nicht der Grund, warum die
  248. ganze Sprache 'Modula' heißt...
  249.  
  250. Interessanter sind da schon die folgenden Zeilen des Programms: Jede Menge
  251. 'IMPORT'-Anweisungen, mit denen Objekte aus anderen Modulen dem Compiler
  252. bekanntgemacht  werden.  Diese  anderen  Module,  die  Objekte  (Prozeduren,
  253. Variablen, Typen, Konstanten) nach außen zur Verfügung  stellen,  gehorchen
  254. besonderen Regeln - und die sind in Modula so  konsequent  und  funktionell
  255. ausgefallen wie bisher in keiner anderen Programmiersprache.
  256.  
  257. Zu jedem Modul, das Objekte nach außen bereitstellt (sie 'exportiert'), gehört
  258. ein spezielles Definitionsmodul. Darin werden exportierte Typen, Konstanten und
  259. Variablen deklariert; bei exportierten Prozeduren wird aber nur der Prozedurkopf
  260. mit den Parametern angegeben. Wenn der Compiler ein Programm übersetzt,
  261. das diese Objekte benutzt ('importiert'), kann er mit Hilfe der Informationen
  262. aus  dem  Definitionsmodul  überprüfen,  ob  die  importierten  Objekte  richtig
  263. benutzt werden. Der Aufruf einer importierten Prozedur mit falschen Para~
  264. metern, der in anderen Programmiersprachen mit 'behelfsmäßigen' Bibliotheks~
  265. systemen zu  unerklärlichen  Fehlfunktionen  oder  Abstürzen  führt,  kann  also
  266. schon beim Compilieren erkannt werden!
  267.  
  268. Das  eigentliche  Implementationsmodul,  in  dem  die  exportierten  Prozeduren
  269. ausprogrammiert sind, braucht der Compiler dagegen nicht zu kennen, um den
  270. korrekten Aufruf zu überprüfen. Erst zur Ausführung des Programms wird es
  271. benötigt. Insbesondere ist es erlaubt, die Implementation zu ändern (Korrekturen
  272. oder Optimierungen) - solange die Definition die gleiche bleibt, braucht das
  273. Programm,  das  so  eine  Prozedur  benutzt,  nicht  einmal  neu  übersetzt  zu
  274. werden.
  275. 1.4 Megamax Modula: das Konzept                                          1 - 7
  276. ________________________________________________________
  277.  
  278.  
  279. Loadtime Linking
  280.  
  281. Wenn Sie Ihr Programm erfolgreich übersetzt haben, erwarten die üblichen
  282. Compiler-Systeme noch, daß Sie einen sogenannten Linker starten. Dieser hat
  283. die  Aufgabe,  die  übersetzte  Version  Ihres  Programmes  mit  den  benutzten
  284. Teilen der Bibliothek zu kombinieren. Der Linker erzeugt dann eine größere
  285. Codedatei, die alle benötigten Komponenten zusammen enthält; das Programm
  286. kann dann endlich ausgeführt werden.
  287.  
  288. Dieses gängige Verfahren hat Nachteile: Der Zyklus 'Übersetzen - Linken -
  289. Ausprobieren - Korrigieren - Übersetzen ...' ist in der Entwicklungsphase recht
  290. langwierig. Außerdem enthält jedes lauffähige Programm große Teile der Biblio~
  291. thek als Kopie. Das belegt nicht nur unnötig Speicherplatz auf der Diskette,
  292. sondern führt vor allem dann zu Problemen, wenn  Sie  Teile  der  Bibliothek
  293. selbst entwickelt haben und weiterhin pflegen wollen: Übersetzte Programme
  294. enthalten dann weiterhin alte (fehlerhafte?) Versionen der Bibliotheksmodule.
  295.  
  296. Megamax Modula bietet Ihnen daher ein anderes Verfahren: Erst direkt beim
  297. Starten eines Moduls werden die zusätzlich benötigten (importierten) Module
  298. angebunden. Der Loader, der Bestandteil der Megamax-Shell ist, erledigt das
  299. praktisch unmerklich und ohne von Ihnen weitere Angaben zu erfragen. Für die
  300. meisten Anwenderprogramme sind (außer dem Laden des Moduls selbst) keine
  301. zusätzlichen  Diskettenzugriffe  erforderlich,  um  die  importierten  Module  zu
  302. laden: Alle wichtigen Ein-/Ausgabefunktionen und viele weitere Prozeduren sind
  303. bereits als Teil der Shell im Hauptspeicher präsent und  können  von  Ihrem
  304. Modul mitbenutzt werden.
  305.  
  306. Der Entwicklungszyklus besteht in der Megamax Shell also nur aus 'Übersetzen
  307. - Testen - Korrigieren'. Falls Sie Bibliotheksmodule nutzen, die nicht schon in
  308. der Shell integriert sind, genügt dem Modula-System die IMPORT-Anweisung in
  309. Ihrem Text, um auch diese Module beim Start des Hauptprogramms automatisch
  310. nachzuladen und anzubinden. Und sogar wenn Sie ein Bibliotheksmodul ändern
  311. und neu übersetzen, können alle Programme, die dieses  Modul  importieren,
  312. weiterhin direkt gestartet werden - ohne neue Übersetzung, ohne Linkerlauf.
  313. 1.4 Megamax Modula: das Konzept                                          1 - 8
  314. ________________________________________________________
  315.  
  316.  
  317. Benutzung des Linkers
  318.  
  319. Nachdem wir eben ausführlich über Linker gelästert haben, müssen wir jetzt
  320. gestehen, daß wir für Megamax Modula auch einen haben. Über seine Handha~
  321. bung informiert Sie der Abschnitt 2.6 (dort werden Sie sehen, daß unser Lin~
  322. ker wenigstens viel freundlicher zu bedienen ist als die meisten seiner Kolle~
  323. gen). Wozu er da ist, wollen wir aber jetzt schon erwähnen.
  324.  
  325. Der 'heimliche' Bindevorgang beim Laden ist eine Funktion der Megamax-Shell.
  326. Wenn ein Programm direkt vom TOS oder GEM aus gestartet werden soll,
  327. muß es wohl oder übel alle benötigten Prozeduren komplett enthalten. Dafür
  328. sorgt der Linker, den Sie aus der Shell aufrufen können.
  329.  
  330. Zur Entwicklung solcher Programme, die später ohne Unterstützung durch die
  331. Megamax-Umgebung laufen sollen, ist es aber trotzdem sinnvoll, die Vorteile
  332. des 'Load Time Linking' zu nutzen. Erst das ausgetestete Programm sollten Sie
  333. dann dem Linker vorsetzen. Übrigens: Auch die Megamax Modula-Shell selbst
  334. ist auf diese Weise übersetzt und gelinkt worden.
  335. 1.5  Unser Service: MeMoX                                                 1 - 9
  336. ________________________________________________________
  337.  
  338.  
  339. 1.5    Unser  Service
  340.  
  341. MeMoX - Megamax Modula Exchange
  342.  
  343. Was auf dem GEPARD anfing und von Application Systems Heidelberg für ihr
  344. Megamax C (Laser C) aufgegriffen wurde, bieten wir nun auch für Megamax
  345. Modula-2: Einen preiswerten und organisierten Austausch von Modula-2 Pro~
  346. grammen und Module unserer Megamax-Anwender. Der Gedanke dabei ist, zu
  347. verhindern, daß jedes Hilfsmodul von jedem zweiten Anwender neu erfunden
  348. werden muß.  Statt  dessen  hat  jeder  Programmierer  die  Möglichkeit,  seine
  349. Entwicklungen, die meist nebenbei angefallen sind, anderen zur Verfügung zu
  350. stellen.  Auf  diese  Weise  wächst  ganz  automatisch  eine  umfangreiche  und
  351. günstig zu erwerbende Bibliothek mit vielen nützlichen Funktionen heran.
  352.  
  353. Und so funktioniert's: Sie schicken uns (Application Systems) Ihre - möglichst -
  354. fehlerfreien und ausreichend dokumentierten Module im Quelltext. Sie erlauben
  355. uns, diese  Quellen  auf  einer  unserer  MeMoX-Disks  an  alle  bei  Application
  356. Systems registrierten  Modula-Anwender  weiterzugeben  (vermerken  Sie  dies
  357. bitte auch am Anfang jedes Ihrer Quelltexte) - sie sind damit nicht Public
  358. Domain; Sie haben als Urheber immer noch die Möglichkeit, Ihre Entwicklungen
  359. später kommerziell zu verbreiten. Sie übernehmen dabei keinerlei Verpflichtun~
  360. gen. Als  Dankeschön  dürfen  Sie  sich  dann  eine  der  vorhandenen  MeMoX-
  361. Disketten aussuchen (den aktuellen Bestand können Sie bei ASH erfragen).
  362.  
  363. Daß wir auf den Quelltexten bestehen, hat zwei Gründe. Erstens sollen die
  364. anderen Anwender die Möglichkeit haben, eventuelle Fehler zu beheben und ggf.
  365. andere  Modifikationen  vorzunehmen.  Zweitens  kann  es  bei  einem  Update
  366. unseres Systems dazu kommen, daß sich einige Definitionen in den  Moduln
  367. (z.B. Runtime, InOut) verändern, was dann eine Neucompilierung vieler Module,
  368. die Sie verwenden, erfordert. Die von uns gelieferten Module des Megamax-
  369. Systems  sind  natürlich  schon  auf  dem  neuesten  Stand,  die  MeMoX-Disks
  370. können  wir  jedoch  nicht  alle  neu  zusammenstellen,  schon  weil  dann  zwei
  371. verschiedene  Versionen  für  Anwender  mit  dem  alten  bzw.  neuen  System
  372. existieren müßten. Haben Sie als Anwender aber die Quellen der MeMoX-Disks,
  373. können Sie selbst alle erforderlichen Compilationen vornehmen.
  374.  
  375. Wenn Sie an einer oder mehreren MeMoX-Disks Interesse haben, aber erstmal
  376. nichts bieten können, erhalten Sie sie für DM 30.- das Stück. Teilen Sie uns
  377. bei der Bestellung unbedingt Ihre Seriennummer mit!
  378.  
  379. Beispielsweise enthält die zweite MeMoX Disk unter anderem:
  380.     AVLTrees        einfache Verwaltung selbstausgleichender Binärbäume,
  381.     Multitasking      Modula-Prozeduren laufen im Hintergrund (über Timer),
  382.     Formel-Parser   Auswertung von arithmetischen Ausdrücken,
  383.     TextEdit         automatische Verwaltung für Texteingaben in Fenstern,
  384.     Timer5ms        Zeitbestimmung, Stoppuhr (Auflösung: 5ms).
  385. 1.5  Unser Service: Mailbox                                                1 - 10
  386. ________________________________________________________
  387.  
  388.  
  389. Mailbox
  390.  
  391. Einen  weiteren  Service  können  wir  Ihnen  bieten,  wenn  Sie  über  einen
  392. Akustik-Koppler oder ein Modem verfügen: Sie können prompte Hilfe direkt von
  393. den Modula-Entwicklern erhalten. Außerdem können Sie über die Mailbox nicht
  394. nur Megamax-spezifische Neuigkeiten erfahren, sondern auch an Diskussionen
  395. über  zukünftige  Entwicklungen  an  Megamax-Modula  und  Modula  allgemein
  396. teilnehmen.
  397.  
  398. Dieses Forum für Modula-Programmierer, das wir selbst ins Leben gerufen
  399. haben, führen wir schon - mit wechselnden Standorten - seit dem Frühjahr
  400. 1988. Wir haben in dieser Zeit sehr oft Probleme von unseren Anwendern aus
  401. der Welt schaffen können, oft wurden aufgetretene Fehler, die auch in unserer
  402. Software  nicht  auszuschließen  sind,  innerhalb  eines  Tages  behoben  und
  403. rückvermittelt. Mittlerweile ist es eine solide und sehr aktive Diskussions- und
  404. Informationsrunde geworden, an der auch andere Modula-Hersteller verschie~
  405. dener Computer beteiligt sind. Aufgrund der Datenflut haben sich sogar einige
  406. Modula-Interessenten wieder daraus zurückgezogen, weil sie sie nicht mehr
  407. verfolgen oder die dabei entstehenden Telefonkosten tragen konnten.
  408.  
  409. Aus diesem Grund haben wir nun eine Alternative geschaffen. Sind Sie lediglich
  410. an  den  besonderen  Informationen  zu  Megamax  Modula-2  interessiert  oder
  411. wollen Sie nur die Option auf gelegentliche Hilfestellungen in Anspruch nehmen,
  412. bieten wir Ihnen diesen Service in einer bestimmten Mailbox. Zwar müssen Sie
  413. dann unter Umständen höhere Kosten wegen der Ferngespräche tragen, da Sie
  414. aber  die  Informationen  gezielt  abrufen  können,  minimiert  sich  damit  der
  415. Kostenaufwand.
  416.  
  417. Wollen Sie sich dagegen auch an allgemeinen Modula-Themen beteiligen, können
  418. Sie dazu verschiedene Mailboxen in ganz Europa anrufen.
  419.  
  420. So erreichen Sie nun die Mailbox mit den speziellen Megamax-Informationen
  421. und der unverzüglichen Hilfe bei Problemen: Rufen Sie die der MAUS-Mailboxen
  422. an, deren Nummern Sie weiter unten finden. Ihr Terminal-Programm sollte auf
  423. 300, 1200 oder 2400 Baud, 1 Stop-Bit, keine Parität, 8 Datenbits eingestellt
  424. sein.
  425.  
  426. Wenn die Verbindung aufgebaut ist, meldet sich die Mailbox und fragt, ob Sie
  427. eingetragener Benutzer sind. Antworten Sie mit N und tragen Sie sich dann,
  428. wie die Box es Ihnen anbietet, als Benutzer ein. Diese Mailbox fragt Sie nach
  429. allem, was Sie nicht selber wissen können, Sie sollten also auch als Anfänger
  430. keine Probleme damit haben.
  431.  
  432. Wenn Sie sich eingetragen haben und sich im Hauptmenü befinden, können Sie
  433. uns schon erreichen: Drücken Sie 'E', dann 'P', dann geben Sie als Adressaten
  434. Thomas Tempelmann >Klammeraffe< M ein (der "Klammeraffe" ist das Zeichen,
  435. das  Sie  mit  Altenate-ü  erhalten).  Daraufhin  können  Sie  eine  Nachricht
  436. 1.5  Unser Service: Mailbox und Soforthilfe bei Fehlern                    1 - 11
  437. ________________________________________________________
  438.  
  439.  
  440. eingeben. Teilen Sie uns mit, daß Sie Megamax-Anwender sind und ob Sie nur
  441. eine Frage haben, ob Sie an den Megamax-spezifischen oder auch an allen
  442. Modula-bezogenen Informationen Interesse haben. Beenden Sie die Texteingabe,
  443. indem Sie eine Zeile mit einem Punkt am Anfang eingeben. Rufen Sie dann am
  444. übernächsten Tag wieder an - dann sollten Sie schon eine Antwort erhalten
  445. haben.  Wir  geben  Ihnen  dort  auch  gerne  Hilfestellung,  wenn  Sie  noch
  446. allgemeine Probleme mit der Datenfernübertragung und der Mailbox-Bedienung
  447. haben.  Sollte  es  aus  unvorhersehbaren  Gründen  nicht  klappen,  uns  in  der
  448. Mailbox zu erreichen, wenden Sie sich bitte an Application Systems.
  449.  
  450. Nummern einiger MAUS-Boxen
  451.     München 1       (089) 654708    (ist evtl. nicht zugänglich)
  452.     München 2       (089) 8143547
  453.     München 3       (089) 659769
  454.     Starnberg        (08157) 7626
  455.     Bonn             (0228) 254020
  456.     Aachen          (0241) 154949
  457.     Köln-Porz        (02203) 12400
  458.     Münster         (0251) 77261
  459.     Hamburg         (040) 5381657        ... und das sind längst nicht alle!
  460.  
  461. Wenn Sie erfahrener in der Mailbox-Szene sind, weisen wir Sie darauf hin,
  462. daß die allgemeinen Modula-Mitteilungen im FIDO- und im MAUS-Netz, sowie
  463. im MAUS-Brett der Zerberus-Boxen vertreten sind. Wenn Ihnen das nichts
  464. sagt, sie aber trotzdem brennend daran interessiert sind, was damit gemeint
  465. ist, rufen Sie doch ebenfalls einmal in der MAUS München an und fragen Sie
  466. uns danach, wie Sie diesem Forum von Ihrer Heimatstadt aus am günstigsten
  467. folgen können.
  468.  
  469.  
  470. Soforthilfe bei Fehlern im Megamax-System
  471.  
  472. Haben  Sie  Fragen  oder  Vorschläge  zur  Bedienung  oder  den  Bibliotheken,
  473. wenden  Sie  sich  bitte  schriftlich  an  den  Vertrieb  (Application  Systems
  474. Heidelberg).  In  besonders  dringeden  Fällen,  beispielsweise,  wenn  Sie  einen
  475. Fehler im Compiler oder einer Bibliotheksfunktion vermuten  und  auf  dessen
  476. einwandfreies Funktionieren angewiesen sind, können Sie sich auch telefonisch
  477. dort melden. Erklären Sie kurz die Dringlichkeit, dann werden Sie gegebenen~
  478. falls die direkte Telefondurchwahl des zuständigen Programmierers erfahren.
  479. Wir,  die  Programmierer  werden  uns  bemühen,  solche  Probleme  dann
  480. schleunigst aus dem Weg zu schaffen. Da wir das gesamte Megamax-System
  481. selbst erstellt haben, ist uns die Hilfe in jedem Fall möglich.
  482.  
  483. Auch in weniger dringenden Fällen bitten wir Sie, uns über jede Macke am
  484. System schriftlich Nachricht zu geben, denn es kam bereits vor, daß auch
  485. noch nach vier Jahren Fehler in bis dahin nicht veränderten Programmteilen
  486. entdeckt wurden. Rechnen Sie also nicht damit, daß der von Ihnen vermutete
  487. 1.5  Unser Service: Quelltexte und 68020-Assembler                     1 - 12
  488. ________________________________________________________
  489.  
  490.  
  491. Fehler uns längst bekannt sei - sonst wundern Sie sich beim nächsten Update
  492. bitte nicht, daß er immer noch vorhanden ist.
  493.  
  494. Es ist auch gut möglich, daß der Fehler bereits behoben wurde. In solch einem
  495. Fall erhalten Sie gleich Nachricht und können ein Update erhalten:
  496.  
  497. Zu jeder Zeit können Sie alle Ihre Originaldisketten plus DM 20.- (Scheck oder
  498. bar) an den Vertrieb einsenden, um das derzeit aktuelle System zu erhalten.
  499. Nur, wenn sich größere Änderungen ergeben, ggf. sich auch das Handbuch
  500. ändert, informieren wir Sie automatisch über ein "großes" Update/Upgrade.
  501.  
  502.  
  503. Quelltexte der Bibliotheken
  504.  
  505. Wenn Sie auf ein einwandfrei funktionierendes System angewiesen sind, wissen
  506. Sie bereits, daß wir Sie da nicht im Stich lassen. Wenn Sie dennoch darauf
  507. Wert legen, zur Not selbst alles in der Hand zu haben, können Sie von uns die
  508. Quellen  aller  Module,  abgesehen  vom  Compiler,  gegen  eine  Schutzgebühr
  509. erhalten. Wenden Sie sich dazu bitte schriftlich an unseren Vertrieb.
  510.  
  511.  
  512. Assembler für 68020/30 und 68881/2 (FPU)
  513.  
  514. Der Inline-Assembler des Megamax-Compilers ist für den Befehlsumfang eines
  515. normalen  Atari  ST  /  Mega  ST  ausgelegt.  Steckt  in  Ihrem  Rechner  eine
  516. Erweiterungskarte mit einem 68020-Prozessor (auch 68030, 68040,...) oder
  517. sind Sie gar stolzer Besitzer eines Atari TT, können Sie von uns den Compiler
  518. mit erweitertem Inline-Assembler für diesen Prozessor und seinen optionalen
  519. Mathe-Koprozessor  erhalten.  Wenden  Sie  sich  dazu  bitte  an  den  Vertrieb
  520. (Application Systems Heidelberg).
  521.  
  522. Wenn  Sie  lediglich  einen  Mathe-Koprozessor  (FPU)  für  den  normalen  ST
  523. besitzen, können wir Ihnen leider nicht mit einem speziellen Assembler dienen:
  524. Die  FPU  kann  nur  in  Verbindung  mit  einer  68020  (oder  höher)  direkt
  525. programmiert  werden,  beim  ST  müssen  die  Maschinen-Instruktionen  über
  526. komplizierte Befehlsfolgen durch die 68000-CPU übermittelt werden.
  527.  
  528. Glücklicherweise haben wir im Modula-Compiler die Verwendung der FPU im
  529. ST sehr effektiv implementiert, sodaß sowieso nur  selten  Optimierungen  in
  530. Assembler dienlich sind.
  531.  
  532. Wollen Sie die FPU im Atari ST trotzdem selber programmieren, empfehlen wir
  533. Ihnen den FPU-Preprozessor, der Ihnen dazu viel Arbeit abnimmt. Wenden Sie
  534. sich an:
  535.          Jens Decker
  536.          Frühlingstr. 11
  537.          8721 Röthlein
  538. 1.5  Deren Service: Portable GEM-Bibliothek                              1 - 13
  539. ________________________________________________________
  540.  
  541.  
  542. Portable Bibliotheken für den Atari ST/ TT
  543.  
  544. Wenn Sie sich mal unter den diversen Anbietern für Modula auf dem Atari
  545. umsehen, werden Sie sicher schnell feststellen, daß alles, was über die sog.
  546. Standard-Module  bei  Modula  hinausgeht,  die  Idee  der  portablen  Sprache
  547. vollkommen  aufgibt.  Zwar  wird  der  ISO-Standard  viel  mehr  und  bessere
  548. Module festschreiben, rechnerspezifische Bibliotheken, wie die Atari-Funktionen
  549. für GEMDOS und BIOS sowie das  GEM,  können  dabei  nicht  berücksichtigt
  550. werden.
  551.  
  552. Ein langjähriger Modula-Programmierer auf dem Atari ST hat nun unbeirrt der
  553. Interessen  der  einzelnen  Modula-Anbieter  eine  Bibliothek  erstellt,  die  alle
  554. Funktionen des GEMDOS, BIOS, XBIOS und vor Allem des GEM umfaßt. Die
  555. Namen  der  Bezeichner  und  die  Parameter  der  Prozeduren  wurden  nach
  556. Modula-Richtlinien sehr nah an der C-Definition von DRI und Atari angelehnt.
  557. Die Funktionen rufen direkt die jeweiligen Betriebssystemfunktionen auf. Es gibt
  558. also keine Sicherheitskontrollen, wie bei der Megamax-Bibliothek, dafür sind
  559. die Funktionen aber kompakter. Weitere Module bauen darauf auf, sie nennen
  560. sich  MagicDials.  Darin  sind  beispielsweise  enthalten:  Dialoge,  in  denen  die
  561. Knöpfe mit Tastenkombinationen anwählbar sind, Menüzeilen in Fenstern (z.B.
  562. für Accessories) sowie die bekannten "fliegenden" Dialoge. Praktisch alles, was
  563. die C-Bibliothek zum Buch "Vom Anfänger zum GEM-Profi" enthält und noch
  564. einiges Praktische mehr!
  565.  
  566. Die Module sind für viele Modula-Systeme auf dem Atari und evtl. bald auch
  567. für IBM PC-Kompatible verfügbar. Wollen Sie portabel in GEM programmieren,
  568. beispielsweise für Veröffentlichungen in Zeitschriften, können wir Ihnen diese
  569. Bibliothek wärmstens empfehlen.
  570.  
  571. Die MAGIC-Library ist Shareware und Sie erhalten sie gegen Einsendung einer
  572. doppelseitig  formatierten  Disk  und  dem  Rückporto  oder  in  unserer  vorher
  573. erwähnten Mailbox. Sie können die Software kostenlos ausprobieren und bei
  574. Gefallen  die  für  die  Nutzung  erforderliche  Lizenzgebühr  von  DM  15.-
  575. nachzahlen. Für DM 40.- erhalten Sie sogar noch die zusätzlichen Module, wie
  576. die erwähnten MagicDials. (Alle Module werden natürlich im Quelltext geliefert!)
  577. Vertrauensvolle Interessenten können das Geld natürlich auch gleich beilegen.
  578.  
  579. Bei Interesse wenden Sie sich bitte direkt an den Autor:
  580.  
  581.                Peter Hellinger
  582.                Brunnengasse 51
  583.                8500 Nürnberg 1
  584.                Tel. (0911) 22 36 65
  585.                Kto-Nr: 3009612026 bei KKB-Düsseldorf, BLZ 300 209 00
  586. 1.5  Deren Service: ADT & C-Linker                                      1 - 14
  587. ________________________________________________________
  588.  
  589.  
  590. ADT - Abstrakte Datentypen
  591.  
  592. INTEGER, CHAR, Records und Arrays sind für  eine  Sprache  wie  Modula-2
  593. nicht genug. Auch Listen und Bäume sind wichtige Datenstrukturen.  Modula
  594. bietet  allerdings  nur  das  Nötigste,  um  damit  umzugehen.  Die  Megamax-
  595. Bibliothek enthält beispielsweise das Modul Lists, um beliebige Datenstrukturen
  596. zu einer Liste zu verketten. Aber auch hier fehlen Funktionen, um die gesamte
  597. Liste zu kopieren, abzuspeichern usw.
  598.  
  599. Die ADT-Modulbibliothek geht hier bis zum letzten. Sie enthält praktisch alle
  600. Funktionen,  um  mit  Listen,  Binärbäumen  (auch  AVL,  also  automatisch
  601. ausgeglichenen), Hash-Tabellen, Stacks (LIFO) und Queues (FIFO) komfortabel
  602. umzugehen. Die Daten werden nicht wie beim Lists-Modul lediglich über Pointer
  603. verwaltet,  sondern  können  komplett  zugewiesen  werden.  Damit  ist  dann
  604. beispielsweise das Kopieren (Zuweisen) kompletter Listen problemlos möglich.
  605. Für  Geschwindigkeitsfanatiker  gibt  es  aber  auch  immer  die  Option,  beim
  606. Einfügen nur eine Referenz (also Adresse und Länge) der Daten zu übergeben,
  607. sodaß das Kopieren des gesamten Datums dabei entfallen kann. Und überhaupt:
  608. Alle Routinen sind sehr auf Effizienz und Geschwindigkeit bedacht.
  609.  
  610. Was noch? Beispielsweise gibt es eine automatische Markenverwaltung bei den
  611. Listen - wenn Sie wissen, worum es geht. Natürlich können alle Strukturen
  612. miteinander  verknüpft  werden  und  Datei-Ein-/Ausgabe  ist  auch  mit  drin.
  613. Megamax-Verwöhnte  werden  auch  die  automatische  Fehlerbehandlung  zu
  614. schätzen wissen. Drumherum gibt es noch einige Beispiel- und Hilfsmodule für
  615. die Praxis. Und die Quelltexte aller Module gibt es auch - praktisch umsonst!
  616.  
  617. Also los! Bestellen Sie noch heute die ultimative ADT-Bibliothek bei
  618.                Wolfgang Keller
  619.                Karl-Hoffmann-Str. 8
  620.                7500 Karlsruhe 1
  621.                  (0721) 386456
  622.  
  623.  
  624. Einbindung von Funktionen der Sprache C
  625.  
  626. Sind Sie Multilinguist? Werden Sie mit der Sprache C - freiwillig oder eher
  627. unfreiwillig -  konfrontiert?  Haben  Sie  Funktionen  in  C,  die  Sie  nicht  nach
  628. Modula-2  umschreiben  wollen/können?  Dann  lesen  Sie,  was  Ihnen  Michael
  629. Seyfried  (Autor  des  PD-Programms  FuncCalc  und  einiger  MeMoX-  und
  630. MM2-Beiträge) Ihnen empfiehlt:
  631.  
  632. Für C-Programmierer, die auf Modula-2 umsteigen wollen  und  für  Modula-
  633. Programmierer, die C-Programme einbinden wollen, gibt es als Zusatzprodukt
  634. zu Megamax Modula-2 (MM2) und Turbo-C (TC) das Programm MM2CLink
  635. (Megamax  Modula-2  C-Linker).  MM2CLink  konvertiert  Objektdateien  vom
  636. 1.6 Anmerkungen zu den Lizenzvereinbarungen                            1 - 15
  637. ________________________________________________________
  638.  
  639.  
  640. Borland- ins MM2-Format. Es kann aus einem oder mehreren C-Objektdateien
  641. ein MM2-Modul erzeugen, das alle gewünschten Variablen und Prozeduren der
  642. C-Module exportiert um sie dann in MM2-Modulen importieren und benutzen
  643. zu können. So kann die ganze TC-Laufzeitumgebung unter MM2 eingebunden
  644. werden.  Dabei  ist  im  Gegensatz  zu  TC  schon  auf  Objektcodeebene  eine
  645. Modularisierung  möglich:  Aus  TCSTDLIB.LIB  und  TCFLTLIB.LIB  wird  das
  646. MM2-Modul TCSTDLIB und aus TC...LIB.LIB werden die MM2-Module TC...LIB.
  647. Man braucht auch für die konvertierten C-Module keinen separaten Linkerlauf
  648. sondern  kann  weiterhin  das  bequeme  Loadtime-Linking  nutzen.  MM2CLink
  649. bietet  eine  komfortable  Unterstützung  bei  den  einzelnen  Schritten  der
  650. C-Einbindung. Es läuft in der MM2-Shell und benutzt deren Parameter mit:
  651. Compiler, Editor und TC lassen sich direkt aus MM2CLink aufrufen.
  652.  
  653. Sie können das MM2CLink-Paket für wenig Geld direkt beim Autor bestellen.
  654. Ihre Kontaktadresse für Fragen und Bestellungen:
  655.                Michael Seyfried
  656.                Unterer Mauergarten 17
  657.                6520 Worms
  658.                   (0631) 63158  oder  (06241) 54671
  659.                Mailbox: MAUS Starnberg (STA), (08157) 7626
  660.  
  661.  
  662.  
  663. 1.6  Anmerkungen   zu   den   Lizenzverein~
  664.          barungen
  665.  
  666. Software
  667.  
  668. Die  Disketten,  auf  denen  Sie  Megamax  Modula  erhalten  haben,  sind  nicht
  669. kopiergeschützt.  Auf  diese  Weise  möchten  wir  unseren  Kunden  unnötigen
  670. Ärger und Unbequemlichkeiten bei der Handhabung des Systems ersparen. Sie
  671. dürfen (und sollten) Backup-Kopien für Ihren persönlichen Gebrauch anlegen,
  672. wie auch im Abschnitt 2.1 beschrieben wird.
  673.  
  674. Trotzdem unterliegt natürlich auch Megamax Modula dem Urheberrecht: Sie
  675. dürfen nicht das komplette Programmpaket an Ihre fünf besten Freunde weiter~
  676. geben. Hier möchten wir nicht nur darum bitten, unsere  Entwicklungsarbeit
  677. (und den Verzicht auf einen lästigen Kopierschutz) zu honorieren, sondern auch
  678. noch kurz auf die Seriennummern hinweisen, die in der Software enthalten
  679. sind. Jedes erworbene Modula-System darf zu jedem Zeitpunkt nur auf einem
  680. einzelnen Rechner verwendet werden.
  681.  
  682. Wenn Sie mit dem Megamax-System Software  entwickelt  haben  und  diese
  683. verkaufen (oder verschenken) wollen, möchten  wir  Ihnen  natürlich  nicht  im
  684. Wege stehen (und wir möchten auch keine Lizenzgebühren von Ihnen haben).
  685. Daher gilt folgende Regelung:
  686. 1.6 Anmerkungen zu den Lizenzvereinbarungen                            1 - 16
  687. ________________________________________________________
  688.  
  689.  
  690. * Von Ihnen unter Megamax Modula entwickelte Programme dürfen uneinge~
  691. schränkt weitergegeben werden. Das gilt ebenso für die Code-Moduln unserer
  692. Library, nicht jedoch für deren zugehörige Quelltexte.
  693.  
  694. * Die Textversionen der Definitionsmodule unserer  Library  dürfen  Sie  auch
  695. gerne verbreiten - wir hoffen,  daß  jeder  Leser  dann  auch  sofort  so  eine
  696. Programmierumgebung haben will...
  697.  
  698. * NICHT weitergeben dürfen Sie alle übrigen Bestandteile des Modula-Systems.
  699.  
  700. * In Zweifelsfällen erkundigen Sie sich bitte bei Application Systems Heidelberg.
  701.  
  702.  
  703. Handbuch
  704.  
  705. Das  vorliegende  Handbuch  darf,  auch  auszugsweise,  nicht  kopiert  werden;
  706. weder durch mechanische, optische, magnetische, elektronische noch chemische
  707. Reproduktionsverfahren.  (Fällt  Ihnen  noch  ein  anderes  Verfahren  ein?  Bitte
  708. auch  nicht  verwenden!)  Ausnahmen  bedürfen  der  schriftlichen  Genehmigung
  709. durch Application Systems Heidelberg.
  710.  
  711.  
  712. Haftungsausschluß
  713.  
  714. Bitte  nehmen  Sie  zur  Kenntnis,  daß  wir,  die  Autoren,  dieses  Produkt  mit
  715. großer  Sorgfalt  entwickelt  und  getestet  haben.  Dennoch  können  uns  dabei
  716. Fehler unterlaufen sein. Jedoch können weder wir noch  unser  Vertrieb  für
  717. Fehler im Handbuch und in der Software eine Haftung übernehmen, insbeson~
  718. dere für Folgeschäden bei Dritten, die von der mit diesem Produkt erstellten
  719. Software ausgehen.
  720.  
  721. Das  bedeutet,  daß  Sie  Ihre  selbst  entwickelte  Software  inklusive  der
  722. eingebundenen Megamax-Bibliothek angemessen testen müssen, wenn Sie sie
  723. Dritten gegenüber zugänglich machen, weil wir dort zu keinerlei Gewährleistung
  724. mehr verpflichtet sind.
  725.